package q10;
/**	
 * @author roua_troua
 * 
 * Clasa ArboriFunctionali 
 * 
 * 	Un  arbore are ca si trasatura predominanta radadina sa. Radacina memoreaza la randul ei doua referinte catre 
 *  fiecare dintre clasele sale fiu. La fel fiecare fiu memoreaza referinte catre fii sai si tot asa mai departe. 
 *  Este la fel ca si in viata reala unde cel mai importanta pentru copac este radacina sa,crengile ramificandu-se 
 *  apoi in mod aleatoriu fara a sti de la inceput incotro se vor orienta. Aceasta este înca un argument în plus 
 *  pentru a motiva de ce un arbore este o structura dinamica de date.
 *  
 */

import q10.Arbori.Nod;
import q10.Visitor.*;

public class ArboriFunctionali extends Nod{
	protected Nod radacina; /** nodul radacina al arborelui */
	
	/** constructorul cu parametru de tip Nod 
	 * @param radacina			nodul radacina al arborelui
	 * */
	public ArboriFunctionali(Nod radacina)
	{
		this.radacina = radacina;
	}

	/**
	 * @param
	 * @return Nod v
	 */
	public Nod getRadacina(){
		return radacina;
	}
	
	/**
	 * setRadacina
	 * @param Nod r 
	 * @return
	 */
	public void setRadacina(Nod radacina){
		this.radacina = radacina;
	}
	/**
	 * acceptVisitor
	 */
	public void acceptVisitor(Visitor v){
		v.visit(this);
	}
	
}
